package design.patterns.visitor;

import java.util.ArrayList;
import java.util.List;

/**
 * desc     : 结构对象角色，持有一个聚集，并向外界提供 add 方法作为聚集的管理操作
 *          通过这个方法，可以动态的增加一个新的节点
 * dateTime : 2020-06-14 15:43
 *
 * @author wwchen
 */
public class ObjectStructure {

    private List<Node> nodes;
    private Node node;

    public ObjectStructure() {
        nodes = new ArrayList<>();
    }

    public void action(Visitor visitor){
        for (Node node1 : nodes) {
            node1.accept(visitor);
        }
    }

    public void addNode(Node node) {
        nodes.add(node);
    }
}
